Amazon Linux 2 on Hyper-VでSSMを利用してみた
こんにちは、菊池です。
Amazon Linux 2はオンプレミスの仮想プラットフォームでも起動できます。こちらで、Windows 10上のHyper-Vで起動することができました。
続いて、この仮想マシンにSSMを設定し、Systems Managerで管理してみたいと思います。ちなみに、オンプレミスの仮想マシンへのSSM設定は、以前にも紹介していますが、最近のAmazon Linuxでは、SSMの標準インストールなど、さらに簡易に設定ができるようになっています。
やってみる
以下の手順で実施します。
- アクティベーションの作成
- VM上でアクティベーションの実行・SSMエージェントの起動
まずはアクティベーションの作成です。EC2のメニューから、アクティベーションの作成に進みます。
表示される、アクティベーションコード/アクティベーションIDを控えておきます。
続いて、VMでの作業です。Amazon Linux 2が動作するVMにログインします。
$ ssh -i .ssh/xxx.pem ec2-user@192.168.1.140 __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ $
Amazon Linux 2にはデフォルトでSSMエージェントがインストールされています。インストールは省略して、先ほどのアクティベーションコード/IDを利用して登録します。
# amazon-ssm-agent -register \ > -code "xxxxxxxxxxxxxxxxxxxx" \ > -id "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \ > -region "ap-northeast-1" Initializing new seelog logger New Seelog Logger Creation Complete 2017-12-14 06:47:12 INFO Start File Watcher On: /etc/amazon/ssm/seelog.xml 2017-12-14 06:51:04 INFO Successfully registered the instance with AWS SSM using Managed instance-id: mi-xxxxxxxxxxxxxxxxx
登録できたようです。SSMエージェントを起動します。
$ sudo systemctl start amazon-ssm-agent
一応、ステータスを確認し、正常に起動していることを確かめます。
$ sudo systemctl status amazon-ssm-agent ● amazon-ssm-agent.service - amazon-ssm-agent Loaded: loaded (/etc/systemd/system/amazon-ssm-agent.service; enabled; vendor preset: enabled) Active: active (running) since 木 2017-12-14 06:56:25 UTC; 5s ago Main PID: 4079 (amazon-ssm-agen) CGroup: /system.slice/amazon-ssm-agent.service └─4079 /usr/bin/amazon-ssm-agent 12月 14 06:56:26 cloudimg amazon-ssm-agent[4079]: 2017-12-14 06:56:25 INFO [instanceID=mi-xxxxxxxxxxxxxxxxx] Starting associ...olling 12月 14 06:56:26 cloudimg amazon-ssm-agent[4079]: 2017-12-14 06:56:25 INFO [instanceID=mi-xxxxxxxxxxxxxxxxx] [MessagingDeliv...ervice 12月 14 06:56:26 cloudimg amazon-ssm-agent[4079]: 2017-12-14 06:56:25 INFO [instanceID=mi-xxxxxxxxxxxxxxxxx] [MessagingDeliv...alized 12月 14 06:56:27 cloudimg amazon-ssm-agent[4079]: 2017-12-14 06:56:25 INFO [instanceID=mi-xxxxxxxxxxxxxxxxx] [MessagingDeliv...andler 12月 14 06:56:27 cloudimg amazon-ssm-agent[4079]: 2017-12-14 06:56:25 INFO [instanceID=mi-xxxxxxxxxxxxxxxxx] [OfflineService...ine... 12月 14 06:56:27 cloudimg amazon-ssm-agent[4079]: 2017-12-14 06:56:25 INFO [instanceID=mi-xxxxxxxxxxxxxxxxx] [OfflineService...olling 12月 14 06:56:27 cloudimg amazon-ssm-agent[4079]: 2017-12-14 06:56:25 INFO [instanceID=mi-xxxxxxxxxxxxxxxxx] [LongRunningPlu...anager 12月 14 06:56:27 cloudimg amazon-ssm-agent[4079]: 2017-12-14 06:56:25 INFO [instanceID=mi-xxxxxxxxxxxxxxxxx] [LongRunningPlu...xecute 12月 14 06:56:27 cloudimg amazon-ssm-agent[4079]: 2017-12-14 06:56:25 INFO [instanceID=mi-xxxxxxxxxxxxxxxxx] [HealthCheck] H...ealth. 12月 14 06:56:27 cloudimg amazon-ssm-agent[4079]: 2017-12-14 06:56:25 INFO [instanceID=mi-xxxxxxxxxxxxxxxxx] [LongRunningPlu...hcheck Hint: Some lines were ellipsized, use -l to show in full.
問題なければ、OS起動時の自動起動を有効化しておきます。
$ sudo systemctl enable amazon-ssm-agent
マネジメントコンソールを確認すると、マネージドインスタンスに登録され、オンラインになっています!
先日新しく登場した、AWS Systems Managerでも確認できます。
登録した仮想マシンに、試しにRun Commandを実行してみました。[RunShellScript]でecho "Hello Amazon Linux 2"
を実行しました。
コマンドは成功し、ちゃんと実行されていました!
最後に
オンプレミスで起動したAmazon Linux 2でのSSMの設定を行いました。オンプレミスでも、同じOS、同じ管理手法を使うことができます!